# bs == 4.13.4

# from lxml import etree
from bs4 import BeautifulSoup

with open('1.页面.html', 'r', encoding='utf-8') as f:
    html_str = f.read()
# 第一个参数是得到的html页面,第二个参数是要使用哪种解析器
root = BeautifulSoup(html_str, "lxml")

# root.xpath('//div[@class="box"]/text()')
# 取多个，返回列表
# root.select()
# 返回单个元素
# root.select_one()

# 常用的css选择器
# 1.标签选择器  div
# 2.类选择器   .box
# 3.id选择器   #box
# 4.属性选择器  [class="box"]
# 5.后代选择器  div span
# 6.子代选择器  div>span


# bs4不支持直接获取文本和属性 需要先取到节点再通过方法访问属性和文本
a_list = root.select("li[class='media']>a")
for a in a_list:
    name = a.text
    url = a['href']
    print(f"{name}:{url}")


